/**
 * @author benny.zheng
 * @data 2016-06-06
 * @description 本文件用于方便复制粘贴UI模块之用，请更新这里的说明
 *              另外，考虑到一般是放在js/src/pages/page-name/main.js，因此使用../../
 *              如果不是这个目录，请更改成正确的相对路径
 */
//----------------require--------------

var viewport = require("mlib/dom/viewport"); // viewport
var base = require("mlib/comp/base"); // 基础对象
var parseModule = require("mlib/dom/parseModule"); // 页面模块自动解析
var wechat = require("../plugin/wx/wx-api");

var ajax = require("mlib/io/ajax");
var virtualLink = require("mlib/util/virtualLink");
var follow = require("../public/js/follow");
var round = require("../plugin/util/round");
var date = require("../plugin/util/date");
var closest = require("mlib/dom/closest");

var Confirm = require("../layer/weuiconfirm");
var Alert = require("../layer/weuialert");
var touch = require("mlib/evt/touch");


var render = require("./main.ejs"); // 页面总模板




module.exports = function(node, opts) {
    //-----------声明模块全局变量-------------
    var nodeList = null; // 存储所有关键节点
    var that = base();
    var data = null;



    var detaildata = null;

    //-------------事件响应声明---------------
    var evtFuncs = {
        getVoucher:function(evt){
            follow();
        },
        giveFriend:function(evt){
            nodeList.transfer.style.display = "block"; 
        },
        hideTip:function(){
            nodeList.transfer.style.display = "none"; 
        }
	}

    //-------------子模块实例化---------------
    var initMod = function() { 
		virtualLink(function(evt){
			location.href = evt.target.getAttribute("data-href");
		});
		
		custFuncs.getDetail();

    }

    //-------------绑定事件------------------
    var bindEvents = function() {
            touch.on(document.body, 'tap', ".donation", evtFuncs.giveFriend);
            touch.on(document.body, 'tap', ".followme", evtFuncs.getVoucher);
            touch.on(document.body, 'tap', ".donation-tip", evtFuncs.hideTip);
	}

    //-------------自定义函数----------------
    var custFuncs = {
    		getDetail:function(){
					ajax({
						url: data.requestAPIUrl,
						onSuccess: function(result) {
							document.body.insertAdjacentHTML('AfterBegin', render(result.data));
                            detaildata=result.data;
                            // 找到所有带有node-name的节点
                            nodeList = parseModule(node);
                            nodeList.header.style.height = Math.ceil(nodeList.header.clientWidth*0.5548172757475083) + "px";
                            wechat('open',{
                                "debug":false,
                                "title":"您的朋友赠送您一张优惠券",
                                "link":location.origin+detaildata.code.giveReceiveRouter,
                                "imgUrl":data.imgDomain +"/weixin/couponLog.jpg",
                                "desc":detaildata.title,
                                "success":function (res) {
                                    // nodeList.transfer.style.display = "none"; 
                                    // Alert("您的优惠券已转赠成功");
                                    location.reload();             
                                }
                            }).init();
						},
						onError: function(xmlHttp) {

						}
					});
    		}

    }

    //-------------一切从这开始--------------
    var init = function(_data) {

        data = _data;


        // 子模块实例化
        initMod();
        // 绑定事件
        bindEvents();


    }

    //---------------暴露API----------------
    that.init = init;

    return that;
};